export const crudOptions = (vm) => {
  return {
    rowHandle: {
      view: {
        disabled () {
          // return false
          return !vm.hasPermissions('Retrieve')
        }
      },
      edit: {
        disabled () {
          // return false
          return !vm.hasPermissions('Update')
        }
      },
      remove: {
        disabled () {
          // return false
          return !vm.hasPermissions('Delete')
        }
      },
      fixed: 'right'
    },
    options: {
      tableType: 'vxe-table',
      rowKey: true, // 必须设置，true or false
      rowId: 'id',
      height: '100%', // 表格高度100%, 使用toolbar必须设置
      highlightCurrentRow: false
    },
    formOptions: { // 表单宽度
      defaultSpan: 24, // 默认的表单 span
      width: '25%'
    },
    indexRow: { // 序号
      title: '序号',
      align: 'center',
      width: 60
    },
    selectionRow: { // 多选框
      align: 'center',
      width: 46
    },
    columns: [
      {
        title: 'Id',
        key: 'id',
        disabled: true, // 隐藏列
        form: { // 表单配置
          disabled: true // 禁用表单编辑
        },
        sortable: true,
        view: { disabled: true }
      },
      {
        title: '项目名称',
        key: 'project_name',
        search: { disabled: false }, // 开启查询
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '项目名称' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入项目名称'
          },
          itemProps: {
            class: { yxtInput: true }
          },
          order: 1
        },
        sortable: false
      },
      {
        title: '项目标识',
        key: 'project_key',
        search: { disabled: false }, // 开启查询
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '项目标识' }],
          editDisabled: true,
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入项目标识'
          },
          itemProps: {
            class: { yxtInput: true }
          },
          order: 2
        },
        sortable: false
      },
      {
        title: '项目状态',
        key: 'status',
        type: 'radio',
        dict: {
          data: vm.dictionary('button_status_bool')
        }, // 数据字典
        search: { disabled: false }, // 开启查询
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          value: true,
          rules: [{ required: true, message: '项目状态' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请选择项目状态'
          },
          itemProps: {
            class: { yxtInput: true }
          },
          order: 3
        },
        sortable: false
      },
      {
        title: '项目负责人',
        key: 'owner',
        search: { disabled: false }, // 开启查询
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '项目负责人' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入项目负责人'
          },
          itemProps: {
            class: { yxtInput: true }
          },
          order: 4
        },
        sortable: false
      },
      {
        title: '创建人',
        key: 'creator_name',
        form: { // 表单配置
          disabled: true, // 禁用表单编辑
          order: 5
        },
        sortable: false
      }
    ].concat(vm.commonEndColumns())
  }
}
